Indexation dans EMu

EMu dispose d'un certain nombre de méthodes d'indexation pour un accès efficace et en temps opportun aux données. Une méthode d'indexation est un algorithme ou un ensemble de règles permettant de rechercher des données de manière indirecte. Le type d'indexation le plus simple, connu sous le nom de requête exhaustive, est l'absence totale d'index. Dans ce cas, chaque enregistrement est lu séquentiellement et comparé aux termes de requête saisis. S'il y a une correspondance, l'enregistrement est ajouté à l'ensemble des enregistrements correspondants, puis le suivant est lu. La méthode de requête exhaustive est très efficace en termes d’espace utilisé, car seules les données doivent être stockées. Toutefois, une recherche peut prendre un certain temps si le nombre d'enregistrements est très élevé (plusieurs heures pour 750 000 enregistrements).

Pour faciliter la recherche à travers un grand nombre d'enregistrements, des index sont construits pour fournir des accès rapides aux données qui correspondent à des critères de recherches donnés. Les index fournissent des façons indirectes de rechercher des données en utilisant une méthode judicieuse : lorsqu'un terme de recherche est entré, les index sont consultés pour produire les enregistrements correspondants. Il y a un coût associé à l'indexation : le besoin de stockage des informations d'indexation en plus des données.

Les concepteurs de bases de données disposent d'un grand nombre de méthodes d'indexation, chacune ayant ses avantages et ses inconvénients. Le moteur de base de données d'EMu utilise deux méthodes d'indexation souples pour permettre une récupération rapide des données à partir d'un grand nombre d'enregistrements :

  • La première est connue sous le nom de hachage linéaire (linear hashing) et permet des recherches à grande vitesse.
  • La seconde porte le nom assez long de Schéma de codage super-imposé à deux niveaux pour récupération de correspondance partielle, (abrégé en méthode à Deux niveaux) et fournit un cadre général pour effectuer de nombreuses recherches basées sur un terme. Un terme est simplement une séquence de caractères qui constitue l'entité de base pour la requête. Par exemple, dans le cadre d'une requête mot pointé (où il suffit de saisir un mot pour trouver des enregistrements correspondants), le terme est un mot.

Un certain nombre d'options d'indexation préconfigurées sont distribuées avec EMu. En particulier, un certain nombre de champs qui contiennent des données basées sur le nom ont déjà l'indexation phonétique activée. De même, de nombreux champs descriptifs (par exemple, Notes) ont un ensemble d'indexation basé sur un stem.

Il est possible d'ajuster l'indexation via les entrées de Registre. Ces entrées permettent aux institutions d'adapter les méthodes d'indexation pour fournir les recherches les plus efficaces possibles sans gaspiller l'espace disque avec des méthodes non utilisées.

Les utilisateurs du groupe Admin peuvent utiliser une tache d'administration pour visualiser les informations d'indexation.

Méthodes d'indexation améliorées

Plusieurs méthodes d'indexation ont été ajoutées au moteur de base de données avec EMu 3.1. En particulier, le support a été ajouté pour l'indexation NULL (qu'un champ soit vide ou non) et PARTIAL (requête rapide des premiers caractères, par exemple a*). Les Administrateurs système peuvent configurer les champs qui requièrent ces méthodes d'indexation en utilisant le Registre EMu.

Des outils permettant aux Administrateurs système de régler l'indexation des plages utilisée par EMu ont été ajoutés dans la version 4.0.01. Un support pour l'optimisation automatique de l'indexation de plages de valeurs a aussi été ajouté. Ensemble, ces outils EMu peuvent fournir des index de plage optimaux avec des recherches basées sur la plage bien plus rapides.